home *** CD-ROM | disk | FTP | other *** search
/ SPACE 2 / SPACE - Library 2 - Volume 1.iso / apps / 131 / applic / mailmerg.doc < prev    next >
Text File  |  1987-04-17  |  9KB  |  221 lines

  1.                     The No-frills Mail Merge Program
  2.                           4 March 1987 version
  3.  
  4.                   Written using OSS's Personal Pascal.
  5.                         Public Domain software.
  6.           Portions however are copyright 1985 by OSS and CCD.
  7.  
  8.  
  9. I  call this a no-frills program but it does have some features you  may 
  10. be able to use.   Why did I write this program?  Well, I had a letter to 
  11. send out to about 50 addressees and 1st Word didn't do mail merge and ST 
  12. Writer only does a limited form that was unsuitable for my task.   In ST 
  13. Writer  you have to have as many lines marked for the merge text as  the 
  14. max number of lines you will be merging in.  Since the addressees on the 
  15. letter  varied from three lines to seven lines,  it would have made  the 
  16. letter look awkward with multiple blank lines.  I had no desire to spend 
  17. my  money on a word processor program just to get this  feature!   So  a 
  18. simple version of a mail merge program was written.
  19.  
  20. Features:
  21.  
  22.    - Up to 12 different merge 'blocks' may be used.
  23.    - Each merge 'block' may have multiple lines of text.
  24.    - Merge 'blocks' may be used in more than one position.
  25.    - Up to 30 total lines of text may be merged into each text file.
  26.    - Text lines may be up to 110 characters long.
  27.    - Program will automatically perform word wrap.
  28.    - Word wrap may be turned off on a line-by-line basis.
  29.    - Special 'block' mark characters may be used in the text.
  30.    - Output to the Parallel or Serial port (for serial printers) *New*
  31.  
  32. Drawback:
  33.  
  34.    - Indented text must be marked as 'no word wrap'.
  35.    - Output only to printer.
  36.  
  37.  
  38. What is a Mail Merge program for?
  39.  
  40. A merge program will take two text files, normally a master letter and a 
  41. second text file of addresses,  names and other personalized items for a 
  42. number  of  people/companies,  and combine the two so the  output  looks 
  43. personal but really was fast and easy.   A good example of where a  mail 
  44. merge  program can be handy  is when sending out Christmas  letters.   A 
  45. common  (but  perhaps  not enjoyable) example  is  the  'junk'  mailings 
  46. everyone receives that announce "You may have already won..."  
  47.  
  48.  
  49. How to use the program:
  50.  
  51. When  typing the main letter to use with the merge  program,  everywhere 
  52. you  want to insert text from the merge file you need to put  a  special 
  53. symbol.   What  symbols can you use?   There are 12 set up now and  they 
  54. are:
  55.  
  56.   %, >, <, #, *, [, ], \, /, @, ^ and ~
  57.  
  58. So if your letter started out with:
  59.  
  60. Dear Joe;   and the name was going to be from the merge file,  you 
  61. could use:
  62. Dear #;
  63.  
  64. In the merge file you would make an entry then of:
  65.  
  66. #Joe{
  67.  
  68. What is that { doing in there?  Well, as I said the program will do word 
  69. wrap unless you tell it not to.   The { symbol on the end of any line of 
  70. text in the main or merge text files will stop word wrap for that  line.  
  71. The  program will print with word wrap any text it has  received  before 
  72. that line, then print the 'no-wrap' line starting on a new line.  If you 
  73. knew you were going to have a blank line after the salutation,  then the 
  74. { would not be necessary.
  75.  
  76. What if you need to use the # in the letter?   Say you were going to say 
  77. you caught a 12# Bass?   Well that is permissible, so long as you do not 
  78. use the # as a control character in the merge file.
  79.  
  80. Blocks:
  81.  
  82. With only 12 symbols the program might seem limited, but another feature 
  83. can  ease the pain.   If you were sending out a business letter and  had 
  84. the  address  in each letter above the salutation you could do  it  like 
  85. this:
  86.  
  87. Main text of
  88.                                        
  89.                                        1300 Looney Tunes Lane{
  90.                                        Smalltown, USA  11111{       
  91.                                        February 7, 1987
  92.  
  93. ^
  94.  
  95. Dear %:
  96.  
  97. Merge text of
  98.  
  99. ^Mr. Joe Blow{
  100. ^The XYZ Company{
  101. ^1230 Great Profits Road{
  102. ^Anytown, USA  00000
  103. %Mr. Blow
  104.  
  105. Notice the use of the { (no word wrap) symbol in both the main text  and 
  106. the merge file.   It is necessary whenever you want the format to remain 
  107. as in the file and the following line in the main file is not blank.
  108.  
  109. The nice feature that I call a block is that the same symbol can be used 
  110. for multiple lines of text in the merge file,  creating a block of  text 
  111. to move in but only using one symbol.   The multiple lines of text  that 
  112. go in ARE counted against the 30 line limit however.
  113.  
  114. Inter-letter marks:
  115.  
  116. The merge text file must have a way to distinguish one letter's lines of 
  117. text from the next.  To do this the | symbol is used.  An example is the 
  118. easiest way to show this.
  119.  
  120. Merge Text file:
  121.  
  122. ^Mr. Joe Blow{                   First letters text
  123. ^The XYZ Company{                has an address of 4 lines 
  124. ^1230 Great Profits Road{        
  125. ^Anytown, USA  00000
  126. %Mr. Blow                        and ends here.
  127. |                                The end of record symbol is the |
  128. ^Mr. Big Bucks{                  Record 2 has an address of 6
  129. ^The ZYX Company{                lines, but will still have the
  130. ^99 Leisure Lane{                same spacing between address and
  131. ^P.O. Box 0101{                  salutation.
  132. ^Grantville Station{
  133. ^Bigtime, USA  00000
  134. %Mr. Bucks
  135. |                                End the last record with the same |
  136.                                  symbol and a RETURN
  137.  
  138. Each record may have up to 30 lines.
  139.  
  140. The  items  in  the merge text file may be used  in  multiple  locations 
  141. within the main text.  If the letter to Joe had a line that said "Oh, by 
  142. the  way Joe,  I ..."  You could use the same symbol and not  enter  the 
  143. repeat in the merge text file.  An example just to be sure it is clear:
  144.  
  145. Main text file of:
  146.  
  147. Dear ^:
  148.  
  149. Everyone is fine here in Omaha,  and we hope @ are fine also in #.   Oh, 
  150. by the way ^, I ...
  151.  
  152. Merge text file:
  153.  
  154. ^Joe
  155. @the Smiths
  156. #Great Falls
  157. |
  158.  
  159.  
  160. All set up, and no place to go...
  161.  
  162. Ok,  so  you  decided to write a mail-merge letter and now you  run  the 
  163. MAILMERG.TOS program.  What does it ask for?
  164.  
  165. 1:   Parallel or Serial.   This specifies whether the output will go  to 
  166. the  parallel port or the serial port (for those using  serial  interface 
  167. printers.)  Enter a P, p, S or s.
  168.  
  169. 2:   Top margin.  This is how many lines down from where you set-up the 
  170. paper you want the text to start.  Basically it will line feed down that 
  171. many lines before starting to print the letter.
  172.  
  173. 3:   Bottom margin.   How many blank lines at the bottom of each page do 
  174. you want.
  175.  
  176. 4:   Left margin.  It will 'pad' text with spaces this far over on every 
  177. line.
  178.  
  179. 5:   Right margin.  What the maximum column number is you want the text 
  180. to extend to.
  181.  
  182. 6:   Lines/page.  Most printers are 66 lines/page.
  183.  
  184. 7:   Continuous feed or Single sheets.  Enter a C or S.  Single sheets 
  185. will cause the program to pause after each page to allow you to insert a 
  186. new piece of paper in the printer.
  187.  
  188. 8:   Form feed code:  This is the decimal code for the form feed control 
  189. character.  In most cases a 12 will work ($0C).
  190.  
  191. 9:   Main file:  Enter the complete file name, including path.
  192.                 Ex., A:\MAINLTR.TXT
  193.  
  194. 10:  Merge file: The text file that contains the merge data lines.  
  195. Again, enter the complete path name.
  196.  
  197. Note:  In all cases you must enter a value.  A bare <RETURN> will 
  198. probably bomb the program.
  199.  
  200. And that's it.  I hope the program works well for you.  It was done, as 
  201. I said,  rather hastily and there may be some bugs in it.  If you find a 
  202. problem  or have a suggestion send me a message and I'll try and get  it 
  203. fixed right away.   (But I am working on another major project that  has 
  204. already grown to a source code of over 4500 lines...)
  205.  
  206. 3/4/87  note:  The  big project has been released and is the  Hard  Disk 
  207. Backup Utility program, also available on CIS, GEnie and Delphi.
  208.  
  209.  
  210.                              David Chiquelin
  211.  
  212.                              GEnie - D.CHIQUELIN
  213.                              CIS - 71336,1443
  214.                              Delphi - DCHIQUELIN
  215.                              Atari-O! (402) 592-4435 - Sysop   
  216.  
  217. NOTE:   I added the serial port output feature for this version but  was 
  218. unable to test it since I do not have a serial printer.   It should work 
  219. without  any problems though since it just required directing output  to 
  220. the RS-232 port instead of the Parallel port.
  221.